{"version":3,"sources":["webpack:///./app/javascript/flavours/glitch/images/logo_warn_glitch.svg","webpack:///./app/javascript/flavours/glitch/images/elephant_ui_working.svg","webpack:///./app/javascript/flavours/glitch/images/elephant_ui_disappointed.svg","webpack:///./app/javascript/flavours/glitch/images/glitch-preview.jpg","webpack:///./app/javascript/flavours/glitch/images/mbstobon-ui-0.png","webpack:///./app/javascript/flavours/glitch/images/mbstobon-ui-1.png","webpack:///./app/javascript/flavours/glitch/images/mbstobon-ui-2.png","webpack:///./app/javascript/flavours/glitch/images/mbstobon-ui-3.png","webpack:///./app/javascript/flavours/glitch/images/wave-drawer.png","webpack:///./app/javascript/flavours/glitch/images/wave-drawer-glitched.png","webpack:///./app/javascript/flavours/glitch/images sync ^\\.\\/.*$","webpack:///app/javascript/home/mastodon/live/app/javascript/flavours/glitch/packs/common.js","webpack:///./node_modules/@rails/ujs/app/assets/javascripts/rails-ujs.esm.js","webpack:///app/javascript/home/mastodon/live/app/javascript/packs/public-path.js"],"names":["map","webpackContext","req","id","webpackContextResolve","__webpack_require__","o","e","Error","code","keys","Object","resolve","module","exports","Rails","start","require","linkClickSelector","buttonClickSelector","selector","exclude","inputChangeSelector","formSubmitSelector","formInputClickSelector","formDisableSelector","formEnableSelector","linkDisableSelector","buttonDisableSelector","nonce","loadCSPNonce","metaTag","document","querySelector","content","cspNonce","m","Element","prototype","matches","matchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","element","call","EXPANDO","getData","key","undefined","setData","value","$","Array","slice","querySelectorAll","isContentEditable","isEditable","parentElement","csrfToken","meta","csrfParam","CSRFProtection","xhr","token","setRequestHeader","refreshCSRFTokens","param","forEach","input","AcceptHeaders","text","html","xml","json","script","ajax","options","prepareOptions","createXHR","response","processResponse","responseText","getResponseHeader","Math","floor","status","success","statusText","error","complete","beforeSend","readyState","XMLHttpRequest","OPENED","send","data","url","location","href","type","toUpperCase","indexOf","dataType","accept","done","open","crossDomain","withCredentials","onreadystatechange","DONE","match","JSON","parse","createElement","setAttribute","head","appendChild","parentNode","removeChild","parser","DOMParser","replace","parseFromString","error1","isCrossDomain","originAnchor","urlAnchor","protocol","host","preventDefault","CustomEvent","window","event","params","evt","createEvent","initCustomEvent","bubbles","cancelable","detail","Event","result","this","defaultPrevented","defineProperty","get","fire","obj","name","dispatchEvent","stopEverything","target","stopPropagation","stopImmediatePropagation","delegate","eventType","handler","addEventListener","toArray","serializeElement","additionalParam","inputs","elements","disabled","option","selected","push","checked","encodeURIComponent","join","formElements","form","filter","el","allowAction","rails","callback","message","getAttribute","answer","confirm","handleDisabledElement","enableElement","isXhrRedirect","enableLinkElement","enableFormElement","enableFormElements","disableElement","disableLinkElement","disableFormElement","disableFormElements","replacement","innerHTML","originalText","removeEventListener","formSubmitButtonClick","button","formNoValidate","preventInsignificantClick","method","insignificantMetaClick","metaKey","ctrlKey","fileInputSelector","handleConfirm","handleMethod","link","csrfToken$1","csrfParam$1","formContent","action","style","display","body","click","handleMethodWithRails","handleRemote","isRemote","enctype","FormData","append","args","handleRemoteWithRails","_rails_loaded","setTimeout","jQuery","ajaxPrefilter","originalOptions","removeOuterSlashes","string","cdnHost","__webpack_public_path__","path","arguments","length","formattedHost","test","formatPublicPath","process"],"mappings":"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","file":"js/flavours/glitch/common-3bdb3336ab0bbf4e6003.chunk.js","sourcesContent":["export default __webpack_public_path__ + \"media/flavours/glitch/images/logo_warn_glitch-68f2721071b15e54520ac713d29675cf.svg\";","export default __webpack_public_path__ + \"media/flavours/glitch/images/elephant_ui_working-8d131ca68f598cb545a64ac0563199d1.svg\";","export default __webpack_public_path__ + \"media/flavours/glitch/images/elephant_ui_disappointed-83980a5d0868aabbde510765f8a44a84.svg\";","export default __webpack_public_path__ + \"media/flavours/glitch/images/glitch-preview-29f7c85e93ec77217ab5b6c3cde957eb.jpg\";","export default __webpack_public_path__ + \"media/flavours/glitch/images/mbstobon-ui-0-07a1d75b024f0b0aed7127e1c1b20fc2.png\";","export default __webpack_public_path__ + \"media/flavours/glitch/images/mbstobon-ui-1-c3aa4ba2dca2c406fa32e9ebee0d362b.png\";","export default __webpack_public_path__ + \"media/flavours/glitch/images/mbstobon-ui-2-6c5e94fac80476dbc6271425c55582aa.png\";","export default __webpack_public_path__ + \"media/flavours/glitch/images/mbstobon-ui-3-910511022c70f4fa81648fac23a90723.png\";","export default __webpack_public_path__ + \"media/flavours/glitch/images/wave-drawer-500b968810ca19a639dd8ab9929f2e19.png\";","export default __webpack_public_path__ + \"media/flavours/glitch/images/wave-drawer-glitched-f44fa25589f31f0ee52ab119cea119cb.png\";","var map = {\n\t\"./elephant_ui_disappointed\": 1687,\n\t\"./elephant_ui_disappointed.svg\": 1687,\n\t\"./elephant_ui_working\": 1575,\n\t\"./elephant_ui_working.svg\": 1575,\n\t\"./glitch-preview\": 1688,\n\t\"./glitch-preview.jpg\": 1688,\n\t\"./logo_warn_glitch\": 1219,\n\t\"./logo_warn_glitch.svg\": 1219,\n\t\"./mbstobon-ui-0\": 1689,\n\t\"./mbstobon-ui-0.png\": 1689,\n\t\"./mbstobon-ui-1\": 1690,\n\t\"./mbstobon-ui-1.png\": 1690,\n\t\"./mbstobon-ui-2\": 1691,\n\t\"./mbstobon-ui-2.png\": 1691,\n\t\"./mbstobon-ui-3\": 1692,\n\t\"./mbstobon-ui-3.png\": 1692,\n\t\"./wave-drawer\": 1693,\n\t\"./wave-drawer-glitched\": 1694,\n\t\"./wave-drawer-glitched.png\": 1694,\n\t\"./wave-drawer.png\": 1693\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 1842;","import 'packs/public-path';\nimport Rails from '@rails/ujs';\nimport 'flavours/glitch/styles/index.scss';\n\nRails.start();\n\n// This ensures that webpack compiles our images.\nrequire.context('../images', true);\n","/*\nUnobtrusive JavaScript\nhttps://github.com/rails/rails/blob/main/actionview/app/javascript\nReleased under the MIT license\n */\nconst linkClickSelector = \"a[data-confirm], a[data-method], a[data-remote]:not([disabled]), a[data-disable-with], a[data-disable]\";\n\nconst buttonClickSelector = {\n selector: \"button[data-remote]:not([form]), button[data-confirm]:not([form])\",\n exclude: \"form button\"\n};\n\nconst inputChangeSelector = \"select[data-remote], input[data-remote], textarea[data-remote]\";\n\nconst formSubmitSelector = \"form:not([data-turbo=true])\";\n\nconst formInputClickSelector = \"form:not([data-turbo=true]) input[type=submit], form:not([data-turbo=true]) input[type=image], form:not([data-turbo=true]) button[type=submit], form:not([data-turbo=true]) button:not([type]), input[type=submit][form], input[type=image][form], button[type=submit][form], button[form]:not([type])\";\n\nconst formDisableSelector = \"input[data-disable-with]:enabled, button[data-disable-with]:enabled, textarea[data-disable-with]:enabled, input[data-disable]:enabled, button[data-disable]:enabled, textarea[data-disable]:enabled\";\n\nconst formEnableSelector = \"input[data-disable-with]:disabled, button[data-disable-with]:disabled, textarea[data-disable-with]:disabled, input[data-disable]:disabled, button[data-disable]:disabled, textarea[data-disable]:disabled\";\n\nconst fileInputSelector = \"input[name][type=file]:not([disabled])\";\n\nconst linkDisableSelector = \"a[data-disable-with], a[data-disable]\";\n\nconst buttonDisableSelector = \"button[data-remote][data-disable-with], button[data-remote][data-disable]\";\n\nlet nonce = null;\n\nconst loadCSPNonce = () => {\n const metaTag = document.querySelector(\"meta[name=csp-nonce]\");\n return nonce = metaTag && metaTag.content;\n};\n\nconst cspNonce = () => nonce || loadCSPNonce();\n\nconst m = Element.prototype.matches || Element.prototype.matchesSelector || Element.prototype.mozMatchesSelector || Element.prototype.msMatchesSelector || Element.prototype.oMatchesSelector || Element.prototype.webkitMatchesSelector;\n\nconst matches = function(element, selector) {\n if (selector.exclude) {\n return m.call(element, selector.selector) && !m.call(element, selector.exclude);\n } else {\n return m.call(element, selector);\n }\n};\n\nconst EXPANDO = \"_ujsData\";\n\nconst getData = (element, key) => element[EXPANDO] ? element[EXPANDO][key] : undefined;\n\nconst setData = function(element, key, value) {\n if (!element[EXPANDO]) {\n element[EXPANDO] = {};\n }\n return element[EXPANDO][key] = value;\n};\n\nconst $ = selector => Array.prototype.slice.call(document.querySelectorAll(selector));\n\nconst isContentEditable = function(element) {\n var isEditable = false;\n do {\n if (element.isContentEditable) {\n isEditable = true;\n break;\n }\n element = element.parentElement;\n } while (element);\n return isEditable;\n};\n\nconst csrfToken = () => {\n const meta = document.querySelector(\"meta[name=csrf-token]\");\n return meta && meta.content;\n};\n\nconst csrfParam = () => {\n const meta = document.querySelector(\"meta[name=csrf-param]\");\n return meta && meta.content;\n};\n\nconst CSRFProtection = xhr => {\n const token = csrfToken();\n if (token) {\n return xhr.setRequestHeader(\"X-CSRF-Token\", token);\n }\n};\n\nconst refreshCSRFTokens = () => {\n const token = csrfToken();\n const param = csrfParam();\n if (token && param) {\n return $('form input[name=\"' + param + '\"]').forEach((input => input.value = token));\n }\n};\n\nconst AcceptHeaders = {\n \"*\": \"*/*\",\n text: \"text/plain\",\n html: \"text/html\",\n xml: \"application/xml, text/xml\",\n json: \"application/json, text/javascript\",\n script: \"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript\"\n};\n\nconst ajax = options => {\n options = prepareOptions(options);\n var xhr = createXHR(options, (function() {\n const response = processResponse(xhr.response != null ? xhr.response : xhr.responseText, xhr.getResponseHeader(\"Content-Type\"));\n if (Math.floor(xhr.status / 100) === 2) {\n if (typeof options.success === \"function\") {\n options.success(response, xhr.statusText, xhr);\n }\n } else {\n if (typeof options.error === \"function\") {\n options.error(response, xhr.statusText, xhr);\n }\n }\n return typeof options.complete === \"function\" ? options.complete(xhr, xhr.statusText) : undefined;\n }));\n if (options.beforeSend && !options.beforeSend(xhr, options)) {\n return false;\n }\n if (xhr.readyState === XMLHttpRequest.OPENED) {\n return xhr.send(options.data);\n }\n};\n\nvar prepareOptions = function(options) {\n options.url = options.url || location.href;\n options.type = options.type.toUpperCase();\n if (options.type === \"GET\" && options.data) {\n if (options.url.indexOf(\"?\") < 0) {\n options.url += \"?\" + options.data;\n } else {\n options.url += \"&\" + options.data;\n }\n }\n if (!(options.dataType in AcceptHeaders)) {\n options.dataType = \"*\";\n }\n options.accept = AcceptHeaders[options.dataType];\n if (options.dataType !== \"*\") {\n options.accept += \", */*; q=0.01\";\n }\n return options;\n};\n\nvar createXHR = function(options, done) {\n const xhr = new XMLHttpRequest;\n xhr.open(options.type, options.url, true);\n xhr.setRequestHeader(\"Accept\", options.accept);\n if (typeof options.data === \"string\") {\n xhr.setRequestHeader(\"Content-Type\", \"application/x-www-form-urlencoded; charset=UTF-8\");\n }\n if (!options.crossDomain) {\n xhr.setRequestHeader(\"X-Requested-With\", \"XMLHttpRequest\");\n CSRFProtection(xhr);\n }\n xhr.withCredentials = !!options.withCredentials;\n xhr.onreadystatechange = function() {\n if (xhr.readyState === XMLHttpRequest.DONE) {\n return done(xhr);\n }\n };\n return xhr;\n};\n\nvar processResponse = function(response, type) {\n if (typeof response === \"string\" && typeof type === \"string\") {\n if (type.match(/\\bjson\\b/)) {\n try {\n response = JSON.parse(response);\n } catch (error) {}\n } else if (type.match(/\\b(?:java|ecma)script\\b/)) {\n const script = document.createElement(\"script\");\n script.setAttribute(\"nonce\", cspNonce());\n script.text = response;\n document.head.appendChild(script).parentNode.removeChild(script);\n } else if (type.match(/\\b(xml|html|svg)\\b/)) {\n const parser = new DOMParser;\n type = type.replace(/;.+/, \"\");\n try {\n response = parser.parseFromString(response, type);\n } catch (error1) {}\n }\n }\n return response;\n};\n\nconst href = element => element.href;\n\nconst isCrossDomain = function(url) {\n const originAnchor = document.createElement(\"a\");\n originAnchor.href = location.href;\n const urlAnchor = document.createElement(\"a\");\n try {\n urlAnchor.href = url;\n return !((!urlAnchor.protocol || urlAnchor.protocol === \":\") && !urlAnchor.host || originAnchor.protocol + \"//\" + originAnchor.host === urlAnchor.protocol + \"//\" + urlAnchor.host);\n } catch (e) {\n return true;\n }\n};\n\nlet preventDefault;\n\nlet {CustomEvent: CustomEvent} = window;\n\nif (typeof CustomEvent !== \"function\") {\n CustomEvent = function(event, params) {\n const evt = document.createEvent(\"CustomEvent\");\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\n return evt;\n };\n CustomEvent.prototype = window.Event.prototype;\n ({preventDefault: preventDefault} = CustomEvent.prototype);\n CustomEvent.prototype.preventDefault = function() {\n const result = preventDefault.call(this);\n if (this.cancelable && !this.defaultPrevented) {\n Object.defineProperty(this, \"defaultPrevented\", {\n get() {\n return true;\n }\n });\n }\n return result;\n };\n}\n\nconst fire = (obj, name, data) => {\n const event = new CustomEvent(name, {\n bubbles: true,\n cancelable: true,\n detail: data\n });\n obj.dispatchEvent(event);\n return !event.defaultPrevented;\n};\n\nconst stopEverything = e => {\n fire(e.target, \"ujs:everythingStopped\");\n e.preventDefault();\n e.stopPropagation();\n e.stopImmediatePropagation();\n};\n\nconst delegate = (element, selector, eventType, handler) => element.addEventListener(eventType, (function(e) {\n let {target: target} = e;\n while (!!(target instanceof Element) && !matches(target, selector)) {\n target = target.parentNode;\n }\n if (target instanceof Element && handler.call(target, e) === false) {\n e.preventDefault();\n e.stopPropagation();\n }\n}));\n\nconst toArray = e => Array.prototype.slice.call(e);\n\nconst serializeElement = (element, additionalParam) => {\n let inputs = [ element ];\n if (matches(element, \"form\")) {\n inputs = toArray(element.elements);\n }\n const params = [];\n inputs.forEach((function(input) {\n if (!input.name || input.disabled) {\n return;\n }\n if (matches(input, \"fieldset[disabled] *\")) {\n return;\n }\n if (matches(input, \"select\")) {\n toArray(input.options).forEach((function(option) {\n if (option.selected) {\n params.push({\n name: input.name,\n value: option.value\n });\n }\n }));\n } else if (input.checked || [ \"radio\", \"checkbox\", \"submit\" ].indexOf(input.type) === -1) {\n params.push({\n name: input.name,\n value: input.value\n });\n }\n }));\n if (additionalParam) {\n params.push(additionalParam);\n }\n return params.map((function(param) {\n if (param.name) {\n return `${encodeURIComponent(param.name)}=${encodeURIComponent(param.value)}`;\n } else {\n return param;\n }\n })).join(\"&\");\n};\n\nconst formElements = (form, selector) => {\n if (matches(form, \"form\")) {\n return toArray(form.elements).filter((el => matches(el, selector)));\n } else {\n return toArray(form.querySelectorAll(selector));\n }\n};\n\nconst handleConfirmWithRails = rails => function(e) {\n if (!allowAction(this, rails)) {\n stopEverything(e);\n }\n};\n\nconst confirm = (message, element) => window.confirm(message);\n\nvar allowAction = function(element, rails) {\n let callback;\n const message = element.getAttribute(\"data-confirm\");\n if (!message) {\n return true;\n }\n let answer = false;\n if (fire(element, \"confirm\")) {\n try {\n answer = rails.confirm(message, element);\n } catch (error) {}\n callback = fire(element, \"confirm:complete\", [ answer ]);\n }\n return answer && callback;\n};\n\nconst handleDisabledElement = function(e) {\n const element = this;\n if (element.disabled) {\n stopEverything(e);\n }\n};\n\nconst enableElement = e => {\n let element;\n if (e instanceof Event) {\n if (isXhrRedirect(e)) {\n return;\n }\n element = e.target;\n } else {\n element = e;\n }\n if (isContentEditable(element)) {\n return;\n }\n if (matches(element, linkDisableSelector)) {\n return enableLinkElement(element);\n } else if (matches(element, buttonDisableSelector) || matches(element, formEnableSelector)) {\n return enableFormElement(element);\n } else if (matches(element, formSubmitSelector)) {\n return enableFormElements(element);\n }\n};\n\nconst disableElement = e => {\n const element = e instanceof Event ? e.target : e;\n if (isContentEditable(element)) {\n return;\n }\n if (matches(element, linkDisableSelector)) {\n return disableLinkElement(element);\n } else if (matches(element, buttonDisableSelector) || matches(element, formDisableSelector)) {\n return disableFormElement(element);\n } else if (matches(element, formSubmitSelector)) {\n return disableFormElements(element);\n }\n};\n\nvar disableLinkElement = function(element) {\n if (getData(element, \"ujs:disabled\")) {\n return;\n }\n const replacement = element.getAttribute(\"data-disable-with\");\n if (replacement != null) {\n setData(element, \"ujs:enable-with\", element.innerHTML);\n element.innerHTML = replacement;\n }\n element.addEventListener(\"click\", stopEverything);\n return setData(element, \"ujs:disabled\", true);\n};\n\nvar enableLinkElement = function(element) {\n const originalText = getData(element, \"ujs:enable-with\");\n if (originalText != null) {\n element.innerHTML = originalText;\n setData(element, \"ujs:enable-with\", null);\n }\n element.removeEventListener(\"click\", stopEverything);\n return setData(element, \"ujs:disabled\", null);\n};\n\nvar disableFormElements = form => formElements(form, formDisableSelector).forEach(disableFormElement);\n\nvar disableFormElement = function(element) {\n if (getData(element, \"ujs:disabled\")) {\n return;\n }\n const replacement = element.getAttribute(\"data-disable-with\");\n if (replacement != null) {\n if (matches(element, \"button\")) {\n setData(element, \"ujs:enable-with\", element.innerHTML);\n element.innerHTML = replacement;\n } else {\n setData(element, \"ujs:enable-with\", element.value);\n element.value = replacement;\n }\n }\n element.disabled = true;\n return setData(element, \"ujs:disabled\", true);\n};\n\nvar enableFormElements = form => formElements(form, formEnableSelector).forEach((element => enableFormElement(element)));\n\nvar enableFormElement = function(element) {\n const originalText = getData(element, \"ujs:enable-with\");\n if (originalText != null) {\n if (matches(element, \"button\")) {\n element.innerHTML = originalText;\n } else {\n element.value = originalText;\n }\n setData(element, \"ujs:enable-with\", null);\n }\n element.disabled = false;\n return setData(element, \"ujs:disabled\", null);\n};\n\nvar isXhrRedirect = function(event) {\n const xhr = event.detail ? event.detail[0] : undefined;\n return xhr && xhr.getResponseHeader(\"X-Xhr-Redirect\");\n};\n\nconst handleMethodWithRails = rails => function(e) {\n const link = this;\n const method = link.getAttribute(\"data-method\");\n if (!method) {\n return;\n }\n if (isContentEditable(this)) {\n return;\n }\n const href = rails.href(link);\n const csrfToken$1 = csrfToken();\n const csrfParam$1 = csrfParam();\n const form = document.createElement(\"form\");\n let formContent = ``;\n if (csrfParam$1 && csrfToken$1 && !isCrossDomain(href)) {\n formContent += ``;\n }\n formContent += '';\n form.method = \"post\";\n form.action = href;\n form.target = link.target;\n form.innerHTML = formContent;\n form.style.display = \"none\";\n document.body.appendChild(form);\n form.querySelector('[type=\"submit\"]').click();\n stopEverything(e);\n};\n\nconst isRemote = function(element) {\n const value = element.getAttribute(\"data-remote\");\n return value != null && value !== \"false\";\n};\n\nconst handleRemoteWithRails = rails => function(e) {\n let data, method, url;\n const element = this;\n if (!isRemote(element)) {\n return true;\n }\n if (!fire(element, \"ajax:before\")) {\n fire(element, \"ajax:stopped\");\n return false;\n }\n if (isContentEditable(element)) {\n fire(element, \"ajax:stopped\");\n return false;\n }\n const withCredentials = element.getAttribute(\"data-with-credentials\");\n const dataType = element.getAttribute(\"data-type\") || \"script\";\n if (matches(element, formSubmitSelector)) {\n const button = getData(element, \"ujs:submit-button\");\n method = getData(element, \"ujs:submit-button-formmethod\") || element.getAttribute(\"method\") || \"get\";\n url = getData(element, \"ujs:submit-button-formaction\") || element.getAttribute(\"action\") || location.href;\n if (method.toUpperCase() === \"GET\") {\n url = url.replace(/\\?.*$/, \"\");\n }\n if (element.enctype === \"multipart/form-data\") {\n data = new FormData(element);\n if (button != null) {\n data.append(button.name, button.value);\n }\n } else {\n data = serializeElement(element, button);\n }\n setData(element, \"ujs:submit-button\", null);\n setData(element, \"ujs:submit-button-formmethod\", null);\n setData(element, \"ujs:submit-button-formaction\", null);\n } else if (matches(element, buttonClickSelector) || matches(element, inputChangeSelector)) {\n method = element.getAttribute(\"data-method\");\n url = element.getAttribute(\"data-url\");\n data = serializeElement(element, element.getAttribute(\"data-params\"));\n } else {\n method = element.getAttribute(\"data-method\");\n url = rails.href(element);\n data = element.getAttribute(\"data-params\");\n }\n ajax({\n type: method || \"GET\",\n url: url,\n data: data,\n dataType: dataType,\n beforeSend(xhr, options) {\n if (fire(element, \"ajax:beforeSend\", [ xhr, options ])) {\n return fire(element, \"ajax:send\", [ xhr ]);\n } else {\n fire(element, \"ajax:stopped\");\n return false;\n }\n },\n success(...args) {\n return fire(element, \"ajax:success\", args);\n },\n error(...args) {\n return fire(element, \"ajax:error\", args);\n },\n complete(...args) {\n return fire(element, \"ajax:complete\", args);\n },\n crossDomain: isCrossDomain(url),\n withCredentials: withCredentials != null && withCredentials !== \"false\"\n });\n stopEverything(e);\n};\n\nconst formSubmitButtonClick = function(e) {\n const button = this;\n const {form: form} = button;\n if (!form) {\n return;\n }\n if (button.name) {\n setData(form, \"ujs:submit-button\", {\n name: button.name,\n value: button.value\n });\n }\n setData(form, \"ujs:formnovalidate-button\", button.formNoValidate);\n setData(form, \"ujs:submit-button-formaction\", button.getAttribute(\"formaction\"));\n return setData(form, \"ujs:submit-button-formmethod\", button.getAttribute(\"formmethod\"));\n};\n\nconst preventInsignificantClick = function(e) {\n const link = this;\n const method = (link.getAttribute(\"data-method\") || \"GET\").toUpperCase();\n const data = link.getAttribute(\"data-params\");\n const metaClick = e.metaKey || e.ctrlKey;\n const insignificantMetaClick = metaClick && method === \"GET\" && !data;\n const nonPrimaryMouseClick = e.button != null && e.button !== 0;\n if (nonPrimaryMouseClick || insignificantMetaClick) {\n e.stopImmediatePropagation();\n }\n};\n\nconst Rails = {\n $: $,\n ajax: ajax,\n buttonClickSelector: buttonClickSelector,\n buttonDisableSelector: buttonDisableSelector,\n confirm: confirm,\n cspNonce: cspNonce,\n csrfToken: csrfToken,\n csrfParam: csrfParam,\n CSRFProtection: CSRFProtection,\n delegate: delegate,\n disableElement: disableElement,\n enableElement: enableElement,\n fileInputSelector: fileInputSelector,\n fire: fire,\n formElements: formElements,\n formEnableSelector: formEnableSelector,\n formDisableSelector: formDisableSelector,\n formInputClickSelector: formInputClickSelector,\n formSubmitButtonClick: formSubmitButtonClick,\n formSubmitSelector: formSubmitSelector,\n getData: getData,\n handleDisabledElement: handleDisabledElement,\n href: href,\n inputChangeSelector: inputChangeSelector,\n isCrossDomain: isCrossDomain,\n linkClickSelector: linkClickSelector,\n linkDisableSelector: linkDisableSelector,\n loadCSPNonce: loadCSPNonce,\n matches: matches,\n preventInsignificantClick: preventInsignificantClick,\n refreshCSRFTokens: refreshCSRFTokens,\n serializeElement: serializeElement,\n setData: setData,\n stopEverything: stopEverything\n};\n\nconst handleConfirm = handleConfirmWithRails(Rails);\n\nRails.handleConfirm = handleConfirm;\n\nconst handleMethod = handleMethodWithRails(Rails);\n\nRails.handleMethod = handleMethod;\n\nconst handleRemote = handleRemoteWithRails(Rails);\n\nRails.handleRemote = handleRemote;\n\nconst start = function() {\n if (window._rails_loaded) {\n throw new Error(\"rails-ujs has already been loaded!\");\n }\n window.addEventListener(\"pageshow\", (function() {\n $(formEnableSelector).forEach((function(el) {\n if (getData(el, \"ujs:disabled\")) {\n enableElement(el);\n }\n }));\n $(linkDisableSelector).forEach((function(el) {\n if (getData(el, \"ujs:disabled\")) {\n enableElement(el);\n }\n }));\n }));\n delegate(document, linkDisableSelector, \"ajax:complete\", enableElement);\n delegate(document, linkDisableSelector, \"ajax:stopped\", enableElement);\n delegate(document, buttonDisableSelector, \"ajax:complete\", enableElement);\n delegate(document, buttonDisableSelector, \"ajax:stopped\", enableElement);\n delegate(document, linkClickSelector, \"click\", preventInsignificantClick);\n delegate(document, linkClickSelector, \"click\", handleDisabledElement);\n delegate(document, linkClickSelector, \"click\", handleConfirm);\n delegate(document, linkClickSelector, \"click\", disableElement);\n delegate(document, linkClickSelector, \"click\", handleRemote);\n delegate(document, linkClickSelector, \"click\", handleMethod);\n delegate(document, buttonClickSelector, \"click\", preventInsignificantClick);\n delegate(document, buttonClickSelector, \"click\", handleDisabledElement);\n delegate(document, buttonClickSelector, \"click\", handleConfirm);\n delegate(document, buttonClickSelector, \"click\", disableElement);\n delegate(document, buttonClickSelector, \"click\", handleRemote);\n delegate(document, inputChangeSelector, \"change\", handleDisabledElement);\n delegate(document, inputChangeSelector, \"change\", handleConfirm);\n delegate(document, inputChangeSelector, \"change\", handleRemote);\n delegate(document, formSubmitSelector, \"submit\", handleDisabledElement);\n delegate(document, formSubmitSelector, \"submit\", handleConfirm);\n delegate(document, formSubmitSelector, \"submit\", handleRemote);\n delegate(document, formSubmitSelector, \"submit\", (e => setTimeout((() => disableElement(e)), 13)));\n delegate(document, formSubmitSelector, \"ajax:send\", disableElement);\n delegate(document, formSubmitSelector, \"ajax:complete\", enableElement);\n delegate(document, formInputClickSelector, \"click\", preventInsignificantClick);\n delegate(document, formInputClickSelector, \"click\", handleDisabledElement);\n delegate(document, formInputClickSelector, \"click\", handleConfirm);\n delegate(document, formInputClickSelector, \"click\", formSubmitButtonClick);\n document.addEventListener(\"DOMContentLoaded\", refreshCSRFTokens);\n document.addEventListener(\"DOMContentLoaded\", loadCSPNonce);\n return window._rails_loaded = true;\n};\n\nRails.start = start;\n\nif (typeof jQuery !== \"undefined\" && jQuery && jQuery.ajax) {\n if (jQuery.rails) {\n throw new Error(\"If you load both jquery_ujs and rails-ujs, use rails-ujs only.\");\n }\n jQuery.rails = Rails;\n jQuery.ajaxPrefilter((function(options, originalOptions, xhr) {\n if (!options.crossDomain) {\n return CSRFProtection(xhr);\n }\n }));\n}\n\nexport { Rails as default };\n","// Dynamically set webpack's loading path depending on a meta header, in order\n// to share the same assets regardless of instance configuration.\n// See https://webpack.js.org/guides/public-path/#on-the-fly\n\nfunction removeOuterSlashes(string) {\n return string.replace(/^\\/*/, '').replace(/\\/*$/, '');\n}\n\nfunction formatPublicPath(host = '', path = '') {\n let formattedHost = removeOuterSlashes(host);\n if (formattedHost && !/^http/i.test(formattedHost)) {\n formattedHost = `//${formattedHost}`;\n }\n const formattedPath = removeOuterSlashes(path);\n return `${formattedHost}/${formattedPath}/`;\n}\n\nconst cdnHost = document.querySelector('meta[name=cdn-host]');\n\n// eslint-disable-next-line no-undef\n__webpack_public_path__ = formatPublicPath(cdnHost ? cdnHost.content : '', process.env.PUBLIC_OUTPUT_PATH);\n"],"sourceRoot":""}